visited = [[False] * 7 for _ in range(7)]   # 7x7的访问标记矩阵（因为边线有7个点）
dir = [(0, 1), (0, -1), (1, 0), (-1, 0)]
ans = 0
def dfs(x, y):
    if x in [0, 6] or y in [0, 6]:
        global ans
        ans += 1
        return
    for dx, dy in dir:
        nx, ny = x + dx, y + dy
        if not visited[nx][ny]:
            visited[nx][ny] = True
            visited[6 - nx][6 - ny] = True  # 对称标记
            dfs(nx, ny)
            visited[nx][ny] = False
            visited[6 - nx][6 - ny] = False
# 初始化中心点（因为分割必须对称）
visited[3][3] = True
dfs(3, 3)
print(ans // 4)  # 最终结果需要除以4，因为旋转对称的方案会被重复计数4次